﻿using System;
using System.Data;
using System.Configuration;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;

/// <summary>
/// Summary description for AdminPg
/// </summary>
public class AdminPg: System.Web.UI.Page
{
    /*
     * Tất cả các trang trong phần quản trị đều sử dụng CSDL nên 
     * được khai báo ở đây và cho phép kế thừa để dùng chung
     */
    protected VLGDataContext db = new VLGDataContext();

    public void Page_PreInit(object sender, EventArgs e)
    {
        if (IsAuthenticated == false) // chưa đăng nhập
        {
            // lưu địa chỉ của trang hiện tại vào session 
            // để quay trở lại sau khi đăng nhập thành công
            Session["RequestUrl"] = Request.Url.AbsoluteUri;

            // chuyển sang trang đăng nhập
            Response.Redirect("loginForm.aspx");
        }
        /*
         * đăng nhập rồi nhưng không có quyền admin, 
         * hoặc chưa được cấp quyền hoặc không có quyền truy xuất trang này
         */
        else if (Employee.idGroup != "admin")
        {
            Response.Redirect(ResolveClientUrl("adm_vlg/loginForm.aspx"));
        }
    }

    /*
    * Truy xuất nhân viên quản trị trong session, 
    * lưu nhân viên vao session sau khi đăng nhập, 
    * xóa khỏi session sau khi đăng xuất
    */
    public VLGAccount Employee
    {
        get
        {
            return Session["NhanVien"] as VLGAccount;
        }
        set
        {
            if (value == null)
            {
                Session.Remove("NhanVien");
            }
            else
            {
                Session["NhanVien"] = value;
            }
        }
    }
    /*
     * Kiểm tra xem đã đăng nhập hay chưa
     */
    public bool IsAuthenticated
    {
        get
        {
            return (Employee != null);
        }
    }
    /*
     * Lấy quyền truy xuất của nhân viên quản trị đối với trang đăng truy xuất
     */
}
